"""
校验后 入库  增加
instance not  is None 直接入库
先查再改：先查返回结果填充实例，然后根据这个实例修改数据
"""
import os
import django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'p43.settings')
django.setup(set_prefix=False)
# 所有测试代码，都要在上面4行之下

from employee.models import Employee
from employee.serializers import EmpSerializer

emgr = Employee.objects
# POST方法提交上来的数据被request封装为字典
# 反序列化
d = {'emp_no': 10023,
     'birth_date': '1952-12-24',
     'first_name': 'Mayuko2',
     'last_name': 'ABABABA',
     'gender': '1',
     'hire_date': '1991-01-26'
     }  # 注意，这是字典数据是data，不是Employee的实例

instance = emgr.filter(pk=10023).first()  # get(pk=10023)查不到会报employee.models.Employee.DoesNotExist: Employee matching query does not exist. 改filter（）first()
serializer = EmpSerializer(instance=instance,data=d)  # instance not is None   1、序列化器
serializer.is_valid(raise_exception=True) # 2、校验   数据在没有校验前是无法查阅的  False 不检验
serializer.save()  # save 是序列化器的方法  3、入库
print(serializer.data)  # 返回的东西

"""
{'emp_no': 10021, 'birth_date': '1963-06-01', 'first_name': 'Mayuko2', 'last_name': 'ABABABA', 'gender': 1, 'hire_date': '1989-08-24'}
"""